﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Objects.DataClasses;

namespace ChampionFramework.Models
{
    public partial class JogoGrupo : Jogo
    {
        public void GetReadyForCreating(ChampionContextContainer db, 
            int timeMandanteId, int timeVisitanteId)
        {
            this.Id = GetNewId(db);
            Escalacao mandante = new Escalacao(), visitante = new Escalacao();
            mandante.TimeId = timeMandanteId;
            mandante.Mandante = true;
            visitante.TimeId = timeVisitanteId;
            visitante.Mandante = false;
            //mandante.Jogo = (Jogo)this;
            //mandante.JogoRedundante = (Jogo)this;
            //visitante.Jogo = (Jogo)this;
            //visitante.JogoRedundante = (Jogo)this;
            //this.EscalacaoMandante = mandante;
            //this.EscalacaoVisitante = visitante;
            this.Escalacao.Add(mandante);
            this.Escalacao.Add(visitante);
        }

        public int GetNewId(ChampionContextContainer db)
        {
            if (db.JogoSet.Count() > 0)
                return db.JogoSet.Max(g => g.Id);
             return 1;
        }

        public Escalacao GetEscalacaoMandante()
        {
            return this.Escalacao.Single(e => e.Mandante);
        }

        public Escalacao GetEscalacaoVisitante()
        {
            return this.Escalacao.Single(e => !e.Mandante);
        }

    }
}